/*
 * ImageFactory.h
 *
 *  Created on: 2011-1-17
 *      Author: Administrator
 */

#ifndef IMAGEFACTORY_H_
#define IMAGEFACTORY_H_

#include <e32base.h>
#include "Image.h"

static CImageFactory* iInstance = NULL;

class CImageFactory : public CBase
	{
public:
	static CImageFactory* getInstance();
	static void ReleaseInstance();
	virtual ~CImageFactory();
	
public:
	CImage* getImageL(const TDesC& aFileName);
	void RemoveImage(CImage* aImage);
	void ReleaseImage(CImage* aImage);
	void setImagePath(const TDesC& aPath);
	TFileName ImagePath();
	
protected:
	CImageFactory();
	
private:
	RPointerArray<CImage> iImages;
	TFileName iImagePath;
	};

#endif /* IMAGEFACTORY_H_ */
